#include "shm.h"

int main()
{
  int key=ftok("/home/dzp/传送门/进程通讯/共享内存/",0x66);
  if(key<0)
  {
    perror("ftok");
    return 1;
  }
  //printf("%d\n",key);
  
  int shmai=shmget(key,4096,IPC_CREAT|IPC_EXCL|0644);
  if(shmai<0)
  {
    perror("shmget");
    return 2;
  }
  
  char* sm=(char*)shmat(shmai,NULL,0);
  //if(0>sm)
  //{
   // perror("shmat");
    //runeturn 3;
  //}
  
  while(1)
  {
    int a=0;
    for(;a<4096;a++)
    {
      sm[a]='A'+a;
      sm[a+1]=0;
      sleep(1);
    }
  }

  int g=shmdt(sm);
  if(g<0)
  {
    perror("shmdt");
    return 4;
  }

  shmctl(shmai,IPC_RMID,NULL);
  return 0;
}
